package done.easy_101_200;

import com.study.common.TreeNode;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

import static java.lang.Math.min;

/**
 * 111. Minimum Depth of Binary Tree
 * 给定一个二叉树，找出其最小深度。
 * <p>
 * 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
 * <p>
 * 说明: 叶子节点是指没有子节点的节点。
 * <p>
 * 示例:
 * <p>
 * 给定二叉树 [3,9,20,null,null,15,7],
 * <p>
 * 3
 * / \
 * 9  20
 * /  \
 * 15   7
 * 返回它的最小深度  2.
 *
 * @author 大硕
 * 2019-03-24 3:18 PM
 **/
@Slf4j
public class MinimumDepthOfBinaryTree {

    @SuppressWarnings("all")
    public int minDepth(TreeNode root) {
        //190324 first
        return -1;
    }

    @Test
    public void test() {
        TreeNode root = new TreeNode(3,
                new TreeNode(9), new TreeNode(20,
                15, 7));
        log.info("result:{}", minDepth(root));
    }
}





























/*
public int minDepth(TreeNode root) {
    if (root==null) {
        return 0;
    }

    if (root.left==null) {
        return 1 + minDepth(root.right);
    }

    if (root.right==null) {
        return 1 + minDepth(root.left);
    }

    return 1 + min(minDepth(root.left), minDepth(root.right));
}
*/
